package com.lykj.llw.box.data.bean.response;

import android.os.Parcel;
import android.os.Parcelable;

import com.google.gson.annotations.SerializedName;

import java.util.List;

public class GameDetailResponse implements Parcelable {

    /**
     * code
     */
    @SerializedName("code")
    private String code;
    /**
     * status
     */
    @SerializedName("status")
    private Boolean status;
    /**
     * message
     */
    @SerializedName("message")
    private String message;
    /**
     * data
     */
    @SerializedName("data")
    private DataDTO data;
    /**
     * exceptionClazz
     */
    @SerializedName("exceptionClazz")
    private Object exceptionClazz;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public Boolean getStatus() {
        return status;
    }

    public void setStatus(Boolean status) {
        this.status = status;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public DataDTO getData() {
        return data;
    }

    public void setData(DataDTO data) {
        this.data = data;
    }

    public Object getExceptionClazz() {
        return exceptionClazz;
    }

    public void setExceptionClazz(Object exceptionClazz) {
        this.exceptionClazz = exceptionClazz;
    }

    public static class DataDTO {
        /**
         * gid
         */
        @SerializedName("gid")
        private Integer gid;
        /**
         * gamename
         */
        @SerializedName("gamename")
        private String gamename;
        /**
         * gamesize
         */
        @SerializedName("gamesize")
        private String gamesize;
        /**
         * icon
         */
        @SerializedName("icon")
        private String icon;
        /**
         * androidVersion
         */
        @SerializedName("androidVersion")
        private String androidVersion;
        /**
         * iosVersion
         */
        @SerializedName("iosVersion")
        private String iosVersion;
        /**
         * collection
         */
        @SerializedName("collection")
        private String collection;
        /**
         * gametype
         */
        @SerializedName("gametype")
        private String gametype;
        /**
         * payRatio
         */
        @SerializedName("payRatio")
        private Float payRatio;
        /**
         * fuli
         */
        @SerializedName("fuli")
        private String fuli;
        /**
         * subject
         */
        @SerializedName("subject")
        private String subject;
        /**
         * content
         */
        @SerializedName("content")
        private String content;
        /**
         * bgPic
         */
        @SerializedName("bgPic")
        private String bgPic;
        /**
         * pic1
         */
        @SerializedName("pic1")
        private String pic1;
        /**
         * pic2
         */
        @SerializedName("pic2")
        private String pic2;
        /**
         * pic3
         */
        @SerializedName("pic3")
        private String pic3;
        /**
         * pic4
         */
        @SerializedName("pic4")
        private String pic4;
        /**
         * pic5
         */
        @SerializedName("pic5")
        private String pic5;
        /**
         * type
         */
        @SerializedName("type")
        private Integer type;
        /**
         * isDownload
         */
        @SerializedName("isDownload")
        private Integer isDownload;
        /**
         * cards
         */
        @SerializedName("cards")
        private List<CardsDTO> cards;
        /**
         * vipLevel
         */
        @SerializedName("vipLevel")
        private Integer vipLevel;
        /**
         * gameNum
         */
        @SerializedName("gameNum")
        private Integer gameNum;
        /**
         * isLogin
         */
        @SerializedName("isLogin")
        private Boolean isLogin;
        /**
         * downloadUrl
         */
        @SerializedName("downloadUrl")
        private String downloadUrl;
        /**
         * apkname
         */
        @SerializedName("apkname")
        private String apkname;
        /**
         * isCollect
         */
        @SerializedName("isCollect")
        private Boolean isCollect;
        /**
         * isLike
         */
        @SerializedName("isLike")
        private Boolean isLike;
        /**
         * likeNum
         */
        @SerializedName("likeNum")
        private Integer likeNum;

        @SerializedName("videoUrl")
        private String  videoUrl;

        public String getVideoUrl() {
            return videoUrl;
        }

        public void setVideoUrl(String videoUrl) {
            this.videoUrl = videoUrl;
        }

        public Integer getGid() {
            return gid;
        }

        public void setGid(Integer gid) {
            this.gid = gid;
        }

        public String getGamename() {
            return gamename;
        }

        public void setGamename(String gamename) {
            this.gamename = gamename;
        }

        public String getGamesize() {
            return gamesize;
        }

        public void setGamesize(String gamesize) {
            this.gamesize = gamesize;
        }

        public String getIcon() {
            return icon;
        }

        public void setIcon(String icon) {
            this.icon = icon;
        }

        public String getAndroidVersion() {
            return androidVersion;
        }

        public void setAndroidVersion(String androidVersion) {
            this.androidVersion = androidVersion;
        }

        public String getIosVersion() {
            return iosVersion;
        }

        public void setIosVersion(String iosVersion) {
            this.iosVersion = iosVersion;
        }

        public String getCollection() {
            return collection;
        }

        public void setCollection(String collection) {
            this.collection = collection;
        }

        public String getGametype() {
            return gametype;
        }

        public void setGametype(String gametype) {
            this.gametype = gametype;
        }

        public Float getPayRatio() {
            return payRatio;
        }

        public void setPayRatio(Float payRatio) {
            this.payRatio = payRatio;
        }

        public String getFuli() {
            return fuli;
        }

        public void setFuli(String fuli) {
            this.fuli = fuli;
        }

        public String getSubject() {
            return subject;
        }

        public void setSubject(String subject) {
            this.subject = subject;
        }

        public String getContent() {
            return content;
        }

        public void setContent(String content) {
            this.content = content;
        }

        public String getBgPic() {
            return bgPic;
        }

        public void setBgPic(String bgPic) {
            this.bgPic = bgPic;
        }

        public String getPic1() {
            return pic1;
        }

        public void setPic1(String pic1) {
            this.pic1 = pic1;
        }

        public String getPic2() {
            return pic2;
        }

        public void setPic2(String pic2) {
            this.pic2 = pic2;
        }

        public String getPic3() {
            return pic3;
        }

        public void setPic3(String pic3) {
            this.pic3 = pic3;
        }

        public String getPic4() {
            return pic4;
        }

        public void setPic4(String pic4) {
            this.pic4 = pic4;
        }

        public String getPic5() {
            return pic5;
        }

        public void setPic5(String pic5) {
            this.pic5 = pic5;
        }

        public Integer getType() {
            return type;
        }

        public void setType(Integer type) {
            this.type = type;
        }

        public Integer getIsDownload() {
            return isDownload;
        }

        public void setIsDownload(Integer isDownload) {
            this.isDownload = isDownload;
        }

        public List<CardsDTO> getCards() {
            return cards;
        }

        public void setCards(List<CardsDTO> cards) {
            this.cards = cards;
        }

        public Integer getVipLevel() {
            return vipLevel;
        }

        public void setVipLevel(Integer vipLevel) {
            this.vipLevel = vipLevel;
        }

        public Integer getGameNum() {
            return gameNum;
        }

        public void setGameNum(Integer gameNum) {
            this.gameNum = gameNum;
        }

        public Boolean getIsLogin() {
            return isLogin;
        }

        public void setIsLogin(Boolean isLogin) {
            this.isLogin = isLogin;
        }

        public String getDownloadUrl() {
            return downloadUrl;
        }

        public void setDownloadUrl(String downloadUrl) {
            this.downloadUrl = downloadUrl;
        }

        public String getApkname() {
            return apkname;
        }

        public void setApkname(String apkname) {
            this.apkname = apkname;
        }

        public Boolean getIsCollect() {
            return isCollect;
        }

        public void setIsCollect(Boolean isCollect) {
            this.isCollect = isCollect;
        }

        public Boolean getIsLike() {
            return isLike;
        }

        public void setIsLike(Boolean isLike) {
            this.isLike = isLike;
        }

        public Integer getLikeNum() {
            return likeNum;
        }

        public void setLikeNum(Integer likeNum) {
            this.likeNum = likeNum;
        }

        public static class CardsDTO {
            /**
             * cid
             */
            @SerializedName("cid")
            private Integer cid;
            /**
             * name
             */
            @SerializedName("name")
            private String name;
            /**
             * excerpt
             */
            @SerializedName("excerpt")
            private String excerpt;
            /**
             * endTime
             */
            @SerializedName("endTime")
            private String endTime;
            /**
             * status
             */
            @SerializedName("status")
            private Integer status;
            /**
             * cardCode
             */
            @SerializedName("cardCode")
            private String cardCode;

            public Integer getCid() {
                return cid;
            }

            public void setCid(Integer cid) {
                this.cid = cid;
            }

            public String getName() {
                return name;
            }

            public void setName(String name) {
                this.name = name;
            }

            public String getExcerpt() {
                return excerpt;
            }

            public void setExcerpt(String excerpt) {
                this.excerpt = excerpt;
            }

            public String getEndTime() {
                return endTime;
            }

            public void setEndTime(String endTime) {
                this.endTime = endTime;
            }

            public Integer getStatus() {
                return status;
            }

            public void setStatus(Integer status) {
                this.status = status;
            }

            public String getCardCode() {
                return cardCode;
            }

            public void setCardCode(String cardCode) {
                this.cardCode = cardCode;
            }
        }
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(this.code);
        dest.writeValue(this.status);
        dest.writeString(this.message);
        dest.writeParcelable((Parcelable) this.data, flags);
        dest.writeParcelable((Parcelable) this.exceptionClazz, flags);
    }

    public void readFromParcel(Parcel source) {
        this.code = source.readString();
        this.status = (Boolean) source.readValue(Boolean.class.getClassLoader());
        this.message = source.readString();
        this.data = source.readParcelable(DataDTO.class.getClassLoader());
        this.exceptionClazz = source.readParcelable(Object.class.getClassLoader());
    }

    public GameDetailResponse() {
    }

    protected GameDetailResponse(Parcel in) {
        this.code = in.readString();
        this.status = (Boolean) in.readValue(Boolean.class.getClassLoader());
        this.message = in.readString();
        this.data = in.readParcelable(DataDTO.class.getClassLoader());
        this.exceptionClazz = in.readParcelable(Object.class.getClassLoader());
    }

    public static final Parcelable.Creator<GameDetailResponse> CREATOR = new Parcelable.Creator<GameDetailResponse>() {
        @Override
        public GameDetailResponse createFromParcel(Parcel source) {
            return new GameDetailResponse(source);
        }

        @Override
        public GameDetailResponse[] newArray(int size) {
            return new GameDetailResponse[size];
        }
    };
}
